summaryrefslogtreecommitdiff
path: root/src/pages/districts/[district].astro
blob: 136780cfc2cc0c0cfc2538e38ae004485b432260 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
import Layout from "../../layouts/Layout.astro";
import DistrictCardComponent from "../../components/DistrictCardComponent.astro";
import DistrictSiteResultComponent from "../../components/DistrictSiteResultComponent.astro";
import {
  getDistrictById,
  getPaginatedSitesByDistrictId,
} from "../../data/districts/functions";
import { districts } from "../../data/districts/districts";

export function getStaticPaths() {
  return districts.map((district) => ({
    params: { district: district.id },
  }));
}

const { district } = Astro.params;
const districtData = getDistrictById(district);

const sitesPerPage = 10;
const currentPage = 1;
const { sites, totalPages } = getPaginatedSitesByDistrictId(
  district,
  currentPage,
  sitesPerPage
);
---

<Layout title={`${districtData?.name || district} District`}>
  <div class="text-sm mb-4">
    <a class="link" href="/districts">← Back to All Districts</a>
  </div>
  <DistrictCardComponent district={districtData} />
  <DistrictSiteResultComponent
    district={district}
    sites={sites}
    totalPages={totalPages}
    currentPage={currentPage}
    sitesPerPage={sitesPerPage}
  />
</Layout>